1. Field of the Invention
The present invention relates to an apparatus and a method for executing workflows for processing jobs each including a plurality of processing steps in accordance with workflow setting information.
2. Description of the Related Art
There are commercially practical multifunction devices (digital multifunction devices) in which digital copy machines each incorporate the functions of a printer, a scanner, a facsimile machine, etc. The known digital multifunction devices perform facsimile communications using their own scanner and printer and perform printing using their own printer by expanding code data sent from a computer to bitmap data. The known digital multifunction devices transmit images read from the scanner using the scanner over a network and print images delivered over the network using the printer.
Some of the known digital multifunction devices have a so-called box function of assigning recording regions in its storage unit to a user and departments so that the user can store image data in the recording region and output it as appropriate.
Workflow execution apparatuses that execute a workflow with a plurality of digital multifunction devices connected to a network have been proposed in related art. In the related-art workflow executing apparatuses, for example, in an application approving flow, an applicant transmits application data to an approver's box. On reception of the data, the approver approves it and transmits the data to the next approver. The last approver sends notification of approval to the applicant and stores the application in a designated server.
The known workflow execution apparatuses can also execute processing using different functions with individual devices connected to a network. For example, a first device executes a scan and transmits scan data to a second device. The second device that has received the scan data executes image analysis processing, such as optical character recognition (OCR), and transmits the result to a third device. The third device that has received the result performs the process of outputting it to a paper medium or registering it in a server.
A known workflow execution apparatus is provided with a server that centrally controls over a workflow, where it controls the state of execution devices and jobs. If an error occurs in any of the devices, the server temporarily stores the job and monitors the status thereof to thereby reduce a load on the device (refer to Japanese Patent Laid-Open No. 2004-280665).
Another known workflow execution apparatus is proposed in which if an error occurs in processing a workflow, the workflow is continued by executing the process with another device (Japanese Patent Laid-Open No. 2006-338544).
However, in the known workflow execution apparatuses, if an error occurs in some of the workflow execution devices, the workflow processing stops. In an application approving flow, examples of the error are halting of an authentication server for authenticating the user, impossibility of transmitting an application due to a network failure, and lack of the capacity of a storage unit arising from the amount used exceeding a predetermined threshold. In a workflow in which individual devices execute processing using different functions, the error includes, for example, impossibility of printing due to the absence of an appropriate sheet prepared, impossibility of printing due to a shortage of toner.
If an error occurs in a device, the job of the workflow may be put into standby mode until the error is corrected, and after recovery, the job may be restarted. However, this has a first problem in that if the processing of other workflows is executed one after another without waiting for recovery from the error, a large amount of jobs are accumulated in the error device, thus applying a load thereon.
The known workflow execution apparatus equipped with a server that centrally controls workflows to reduce loads on the devices has a second problem of complicated system configuration and maintenance because the server is needed.
The known workflow execution apparatus that can continue workflow processing even after the occurrence of an error has a third problem in that a separate alternative device is needed, which needs a complicated work for construction, and that the alternative device cannot execute completely the same processing unless the alternative device has the same configuration as the error device.